package com.promonkey.proxy;


import com.promonkey.biz.PetBase;

/**
 * Created by promonkey on 2017/2/21.
 */
public class PetProxy implements PetBase {

    //小家伙的管家——petProxy
    private PetBase petProxy;

    /**
     * 管家构造器
     *
     * @param pet 需要管家管理的宠物
     */
    public PetProxy(PetBase pet) {
        //让管家获得小家伙的所有权
        this.petProxy = pet;
    }

    //宠物吃的行为;管家控制宠物吃东西需要的操作（控制访问）
    public String eat() {
        //this就是管家对象，由他负责记录（记录功能是他自己的）
        this.logger();
        //这里实际是小动物（Mark或lucky）的行为，前面已经把小家伙的控制权给了管家petProxy
        return this.petProxy.eat();
    }

    //宠物运动的行为
    public String exercise() {
        logger();
        return this.petProxy.exercise();
    }

    public PetBase getAnimalProxy() {
        return petProxy;
    }

    public void logger() {
        System.out.println("当前时间：" + System.currentTimeMillis());
    }

}
